查看原文
其他

整个世界都是你的已知条件(生信学习心得)

2017-11-29 徐洲更 生信媛

这是今年8月份,我的小密圈(知识星球)的密友让我介绍一下我的生信学习心得。关于经验类的文章,我基本都是有感而发,总是不太全面,所以借这一次机会系统的介绍一下。

关于经验

大部分都很喜欢听别人的心得,学习别人的经验。但是作为一个在随机世界生存的傻瓜,我们先得理解一些概率论的智慧。比如我在公众号《请辩》里看过如下一段话

为什么马云说一句话,大家点头称是,王健林弄个行程表,大家纷纷称赞,因为大家都认为,有钱人说任何话做任何事都是他们有钱的原因之一,跟着做都不会错
但很多时候,是不是有另一种可能,那就是你效仿的东西或许正事那位有钱人没有取得更高成就的原因?

成功的人或许有一些独特的品质,但是有这些独特品质的人未必成功。在我眼里,成功更多是一种偶然事件,成功的路上发生很多事情,但只有部分事情是和结果挂钩,如果你没有正确的进行归因,把被成功掩盖的错误因素当做自己的制胜法宝,结局不言自明。

综上,我希望还能通过这次机会对我学习生信之路做一个复盘,由于我的表达能力有限,或许有些啰嗦,请见谅。

我的大学

不好意思,一下子把时间拉回到了我的四年前,那时候我经历过高考的失利,为了替家里省学费的开支,填报了省内免学费的农学专业。我那时候开玩笑说,这个专业从不失业,毕竟家里还有几亩地。同时,填报的大学又在搞精英班,我就参加了选拨,笔试面试后就成为第二批的实验鼠

那个时候一心想着拿个奖学金,让我妈开心一点(她希望我能上一个一本大学,而我没有做到),于是就去啃最难的一门课“高等数学”。非数学专业的高等数学其实一点都不难, 只要做到多做题目就行了,还有做被泄露出来的历年真题,那么成绩就不会差到那里去。 渐渐地,我就成为了别人眼里的“学霸”。在第二学期,出于对计算机的热爱, 我在VC和C语言之间选择C语言(没教指针!!!), 其实期末考试也就是背背题目而已。

你有什么样的能力,总会抵达符合你能力的地方。 大一的那个暑假,我的一个学姐就拉我这个一年级新生去参加数学建模培训了。这个暑假比较关键,我接触了MATLAB, R, SPSS。当时水平完全局限在抄代码上,不可思议的是居然还拿一个三等奖作为安慰奖。后来参加美国大学生数学建模大赛,花了一个寒假时间学了LaTeX,把图书馆借来的《R语言实战》翻了第一遍,又拿了一个三等奖。

其实这个时候,我写代码的能力几乎为零,抄代码能力还行。

知道“生物信息学”这个概念是在我们规划课程的时候,那个时候只知道它不用做实验就能发文章,敲敲代码就好了,于是就问课程老师要来了他的PPT。 PPT里面涉及到的内容就是如何检索常用数据库(NCBI, EBI等),BLAST等,然后听说学生信要学Perl。于是,我在大二的暑假种棉花,提DNA,跑胶之余还翻过一本和Perl相关的书。

学习Perl的时候我还在网上百度Perl的相关资料,于是看到一篇比较Python和Perl的文章。当时,我的想法是我要学习最好的语言,看到有人说Python好,我就去看Python,并且有人还在数学建模的比赛中用Python处理文本数据。似乎那个时候Python的资料比较少,没有像现在那样充斥着Python爬虫教程,所以我也没有学下去。

时间继续往前,到了大二第一学期的暑假,我在知乎上看到了卡牌大师 的回答,发现数据挖掘好屌的样子,于是加了他的第一个千人微信群,订阅了公众号SOTON数据分析。购买了和数据分析相关的电子书和纸质书,比如说用Python进行数据分析。 努力学习过一段时间,还制定过学习安排表。不过性格求稳,不愿意冒风险,最后我还是考了生物相关的研究生。

划重点开始,到目前为止,不难发现,我其实在本科阶段很不系统地接触了C, Perl, Python, MATLAB, R, LaTeX,试图去学习数据分析,看过R语言实战,利用Python做数据分析,通过MATLAB知道了神经网络,遗传算法,马尔可夫链等概念。这些都散落在我的记忆的某个部分,只不过没有结构化的串联在一起而已。

从来都没有零基础学习XX,整个世界都是你的已知条件,如果你觉得自己是零基础,担心学不好,那么说一个更可怕的事情,你担心自己学不好的一瞬间,你就是负基础,你学习的难度增大,放弃的概率增加,最后终于顺理成章的证明了自己能力不足。

大四下半学期

从理论上将,大四的下半学期应该算是我的大学的一部分,但在这个时期,大部分人其实都开始去实习了,所以也不太算是大学的一部分了。我在这个时间段去植生所实习了,在一次性拿到两个月的补助(1600)的时候,我觉得要给自己充电,于是我捡起来好久没学的Python,用一个非常正确的姿势入门了Python。


并且当时买课还送书,我选择了《鸟哥的Linux私房菜》。那个时候,我的师兄还给了我一个北邮人BT站点的邀请码,所以我下载了“马哥的Linux运维课程”,所以我没事的时候就看一集马哥的视频,翻几页的鸟哥的书。

这段期间,我还立志要给所在实验室做一个网站,于是我还去学习了Django和flask,最后由于前端搞不定,所以泡汤了。

在暑假回家的时候,带着师姐提供 tophat 转录组分析流程的paper回了家,一边学车一边依葫芦画瓢的跑程序。全然不知道,无重复的样本是不能用cuffdifd做差异表达分析的!!!

 研一上学期


放假回来之后,发现师姐的问题还是没有解决。为了解决师姐的问题,我继续利用搜索找资料,被我找到了 RNA-Seq Data analysi-A practical Approach .一本非常系统介绍了RNA-Seq数据分析的书, 当然是我目前的评价,之前并没有这个感觉。


我在上课期间把这本书看完了“第一遍”, 然而问题还是没有解决,因为单个样本是不能用DESeq2分析差异表达的!!!

不知不觉第一轮轮转(2个月)结束了,我去了第二轮的实验室。那个实验室是只做湿实验的,但是老板特别尊重我的意愿(其实还有多方面因素),于是放任我自己学习生信。我继续上网找资料,被我在亚马逊找到了第二本和生信有关的书 Bioinformatcis Data skills ,我还特地买了亚马逊礼品卡,在美亚买了电子版。


这本书最大的价值,就是给了我一个生信工程师的定义

要想成为音乐家,你必然要掌握一门乐器。但是掌握一门乐器是不够的,你还得继续深入,学习理论知识。只有这样子,当你进入一个酒吧,听到别人弹吉他的时候,你能够熟练用任何一门乐器和他进行配合。

这本书其实没有系统降解分析流程,他更多的是介绍了生信必须掌握的一些工具,用于解决生物学问题。如何用R,Python, samtools等工具处理数据。

看完这本书的时候,差不多2个月又过去了,我依旧没有定组,于是进入了第三轮。第三轮去的是一个专门做生信的课题组,。由于时间太短, 我的性格使然,在没有融于这个团队的时候,轮转的时间过去了。那一个月的时间,我基本上就翻译bioconductor上面几个workflow。然而看得懂字,看不懂意思

研一下学期

这个学期回到了我大一的节奏,因为生物统计学和R语言。我回到第二轮所在的实验室,不做实验,时间很充裕,可以安心学习生统。 结果也就很明显,我打通了统计学和高通量测序分析的任督二路。我加入了“生信媛”,开始一边学习 一边写作,我还加入了“生信技能树”,在上面有了一个属于工作介绍的专栏。通过自己某次给Y叔做的生信日历,认识了Y叔。

这个期间还做了第一个项目,就是重测序定位基因,走了自己的第一个流程。

总而言之

祝贺你们,终于看到了这里,可以看看我的总结性话语了。

第一: 关于学习心态。这世界上不存在真正的零基础入门某个领域的情况。大脑的工作机制就是用旧的知识去理解新的知识。如果你认为自己是小白,自己基础不好等,那么实际情况是你高估了你自己了。你的基础其实是负的,你保证基础不好的心态学习,结果只会证明自己不行了。真正的情况是,你要把整个世界都当做已知条件。

第二: 关于快速入门。 生信快速入门的最好方式其实是学徒制。不是像我那种零散的学习,最后有一天不同的知识回路得到串联。 如果你想学生信,有可能就去华大或者诺和这些公司去实习,不是去培训,参加项目。我保证这个用到啥就学啥的学习速度是最快的,虽然可能是很痛苦的。如果你没有能力去这些大公司学习,那么参加曾健明师兄组织的转录组2个月入门生信,也是类似于做一个项目的方式。

第三: 关于零散学习。 从我口述的经验而言,我没有过多系统性的学习。我的Python, Linux, R等基础知识在学习时候根本不知道该如何使用。我在学习过程中没有正确地把知识串联起来。直到统计学学了一段时间之后,量变导致质变,感觉自己的等级突然跃升了。依靠顿悟的方式太玄乎了,所以我建议你们在学习生信任何一个局部的知识,都要想想如何把局部知识进行串联。由于基础知识的匮乏,一开始将会非常困难,但是请坚持下来。

第四: 关于书籍推荐

  • Linux推荐《鸟哥的Linux私房菜》,通俗易通,上手Linux必备。

  • 编程语言, 我推荐Python。因为他容易上手,材料一抓一大把。新手推荐先看 编程小白的第一本 Python 入门书, 大致了解Python。后面就尝试用Python做题目了,生信人必练的200个数据处理任务 ,学会看官方文档,用搜索引擎。 把自己的想法编程代码。 写过一段时间代码后,就可以去看《流畅的Python》等进阶书籍。

  • 统计学。 我是通过上课学习统计学的,之前我看过一个阶段《商务与经济统计》。以我现在的眼光看这本书的编排挺好的,根据案例讲解统计学的知识点。但是偏向于商务和金融方面,如果找到足够多的案例,就可以编一本《高通量测序数据分析的统计学基础》。

  • R语言推荐《R语言与统计分析》,学习R最好的方式就是和统计学结合起来;《R语言编程艺术》可以让你不局限于调用R自带的函数,掌握用R语言进行编程;《R语言实战》,这本书刚开始看的时候,只推荐看入门的前五章,掌握基础的数据管理能力,这是通用的。没有统计学基础看中级方法,你看了等于白看。绘图推荐《ggplot2: 数据分析和图形艺术》, 理解图形语法,还有一本《R绘图系统》用于进阶。关注biobabble, 跟着Y叔画图.

  • 高通量测序基础。这个我是通过看 RNA-Seq Data analysi-A practical Approach 的前面几章学会的,待补充。

  • 生物学基础, 没事就翻翻《Lewin基因X(中文版)》这本书吧,毕竟生信的主要目的是解决生物学问题。如果你的生物学基础太差,你连解题思路都没有,学到的软件都不知道怎么用。

仅个人看法,欢迎讨论,我进行补充。

写在最后 - - -


其实没啥好写的,每次看过去的文字总感觉不像自己写的。毕竟时间总是跑,转眼间已从大学毕业到研究生二年级,写了很多可有可无的文字,却因此认识了很多人。每次回首过去总感觉有很多遗憾,而看着未来却心中恐慌,好在慢慢学会和自己和解,原谅不完美的自己,继续选择磕磕碰碰的前行。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存